{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "# 本周知识点\n",
    "\n",
    "> 1.while循环   \n",
    "> 2.购物车的练习  \n",
    "> 3.元组_集合  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "你是风儿我是沙，缠缠绵绵到天涯。。。 0\n",
      "你是风儿我是沙，缠缠绵绵到天涯。。。 1\n",
      "你是风儿我是沙，缠缠绵绵到天涯。。。 2\n",
      "你是风儿我是沙，缠缠绵绵到天涯。。。 3\n",
      "你是风儿我是沙，缠缠绵绵到天涯。。。 4\n",
      "你是风儿我是沙，缠缠绵绵到天涯。。。 5\n",
      "你是风儿我是沙，缠缠绵绵到天涯。。。 6\n",
      "你是风儿我是沙，缠缠绵绵到天涯。。。 7\n",
      "你是风儿我是沙，缠缠绵绵到天涯。。。 8\n",
      "你是风儿我是沙，缠缠绵绵到天涯。。。 9\n"
     ]
    }
   ],
   "source": [
    "#while Ture 可以实现for+range的方法\n",
    "#while Ture一般用于不确定的循环次数或者无限次循环操作\n",
    "count = 0\n",
    "while True:\n",
    "    print(\"你是风儿我是沙，缠缠绵绵到天涯。。。\",count)\n",
    "    count +=1\n",
    "    if count ==10:\n",
    "        break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "hide_card:44\n"
     ]
    }
   ],
   "source": [
    "#猜数字小游戏： 0<n<50, 5次机会猜数字，每次猜完,出题人提示你猜的有多大/有点小\n",
    "\n",
    "hide_card = int(input(\"hide_card:\"))#出题人\n",
    "count = 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "hide_card········\n",
      "游戏开始了\n",
      "guess_digit:56\n",
      "往小了想想\n",
      "guess_digit:43\n",
      "往大了想想\n",
      "guess_digit:44\n",
      "yes,you got it\n"
     ]
    }
   ],
   "source": [
    "#猜数字小游戏： 0<n<50,5次机会猜数字，每次猜完出题人提示你猜的有多大/有点小\n",
    "import getpass\n",
    "hide_card = int(getpass.getpass(\"hide_card\"))#出题人\n",
    "count = 0\n",
    "\n",
    "#peint(hide_card)\n",
    "\n",
    "if hide_card<100 and hide_card> 0:\n",
    "    print(\"游戏开始了\")\n",
    "    while True:\n",
    "        if count<5:\n",
    "            guess_digit = int(input(\"guess_digit:\"))  #玩游戏的人\n",
    "            if guess_digit == hide_card:\n",
    "                print(\"yes,you got it\")\n",
    "                break\n",
    "            elif guess_digit > hide_card:\n",
    "                print(\"往小了想想\")\n",
    "            else:\n",
    "                print(\"往大了想想\")\n",
    "                count = count+1\n",
    "        else:\n",
    "                print(\"猜这么多次都不对，你个笨蛋\")\n",
    "                print(\"正确答案是%s\" %hide_card)\n",
    "                break\n",
    "\n",
    "else:\n",
    "    print(\"请输入数字在0-99之间，不要偷懒\")\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "print(Good_list[i][0],Good_list[i][1])    \n",
    "print(Good_list[1][0],Good_list[1][1])   #0代表取出列表第一个值，再个值取出价格\n",
    "print(Good_list[2][0],Good_list[2][1])              \n",
    "print(Good_list[3][0],Good_list[3][1])\n",
    "\n",
    "#寻找共同点，用for+range循环"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 购物车\n",
    "\n",
    "> 1.运行程序后，让用户输入支付宝余额，然后打印我们的商品列表给用户   \n",
    "> 2.让用户输入商品编号进行商品的购买   \n",
    "> 3.用户选择商品后，检查用户的余额是否够，若够则直接扣款，不够则提醒用户   \n",
    "> 4.用户可以随时退出购买，推出时打印用户已购买的商品和支付宝余额   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入余额:77\n",
      "------古茗列表-------\n",
      "0 大叔奶茶 15元\n",
      "1 芝士葡萄 20元\n",
      "2 杨枝甘露 19元\n",
      "请输入商品编号:1\n",
      "购买成功，请等待商品出货，您的余额还有：57元\n",
      "------古茗列表-------\n",
      "0 大叔奶茶 15元\n",
      "1 芝士葡萄 20元\n",
      "2 杨枝甘露 19元\n",
      "请输入商品编号:2\n",
      "购买成功，请等待商品出货，您的余额还有：38元\n",
      "------古茗列表-------\n",
      "0 大叔奶茶 15元\n",
      "1 芝士葡萄 20元\n",
      "2 杨枝甘露 19元\n",
      "请输入商品编号:1\n",
      "购买成功，请等待商品出货，您的余额还有：18元\n",
      "------古茗列表-------\n",
      "0 大叔奶茶 15元\n",
      "1 芝士葡萄 20元\n",
      "2 杨枝甘露 19元\n",
      "请输入商品编号:2\n",
      "您的余额不足19钱购买,请更换交付方式或选择其他商品\n",
      "------古茗列表-------\n",
      "0 大叔奶茶 15元\n",
      "1 芝士葡萄 20元\n",
      "2 杨枝甘露 19元\n",
      "请输入商品编号:0\n",
      "购买成功，请等待商品出货，您的余额还有：3元\n",
      "------古茗列表-------\n",
      "0 大叔奶茶 15元\n",
      "1 芝士葡萄 20元\n",
      "2 杨枝甘露 19元\n",
      "请输入商品编号:0\n",
      "您的余额不足15钱购买,请更换交付方式或选择其他商品\n",
      "------古茗列表-------\n",
      "0 大叔奶茶 15元\n",
      "1 芝士葡萄 20元\n",
      "2 杨枝甘露 19元\n",
      "请输入商品编号:q\n",
      "感谢您的购买，欢迎下次光顾\n",
      "您的购物车: [['芝士葡萄', 20], ['杨枝甘露', 19], ['芝士葡萄', 20], ['大叔奶茶', 15]]\n",
      "您的余额还有: 3\n"
     ]
    }
   ],
   "source": [
    "# 1.运行程序后，让用户输入支付宝余额，然后打印我们的商品列表给用户  \n",
    "\n",
    "Good_list = [[\"大叔奶茶\",15],\n",
    "      [\"芝士葡萄\",20],\n",
    "      [\"杨枝甘露\",19]]\n",
    "#数据存放，列表的增加（append）\n",
    "shopping_list = []  \n",
    "Alipay= int(input(\"请输入余额:\"))\n",
    "            \n",
    "while True:\n",
    "    print(\"------古茗列表-------\")\n",
    "    for i in range(3):\n",
    "        print(i,Good_list[i][0],str(Good_list[i][1])+\"元\")    #0代表取出列表第一个值，再个值取出价格\n",
    "\n",
    "#2.让用户输入商品编号进行商品的购买。            \n",
    "    user_choice =input(\"请输入商品编号:\")           \n",
    "\n",
    "#3.用户选择商品后，检查用户的余额是否够，若够则直接扣款，不够则提醒用户 \n",
    "#3.1 用户输入商品序号（数值）\n",
    "    if user_choice.isdigit() and int(user_choice)<len(Good_list) and int (user_choice)>=0:\n",
    "        user_choice=int(user_choice)\n",
    "        if Alipay > Good_list[user_choice][1]:\n",
    "        #余额足够\n",
    "            Alipay = Alipay - Good_list[user_choice][1] #更新用户余额\n",
    "            shopping_list.append(Good_list[user_choice])\n",
    "            print(\"购买成功，请等待商品出货，您的余额还有：%s元\"%(Alipay)) \n",
    "        else:\n",
    "        #余额不够\n",
    "            print(\"您的余额不足\"+str(Good_list[user_choice][1])+\"钱购买,请更换交付方式或选择其他商品\")\n",
    "#3.2 用户输入其他\n",
    "    elif user_choice == \"q\":\n",
    "        print(\"感谢您的购买，欢迎下次光顾\")\n",
    "        print(\"您的购物车:\",shopping_list)\n",
    "        print(\"您的余额还有:\",Alipay)\n",
    "        break\n",
    "    else:\n",
    "        print(\"您输入的商品不存在或者输入的内容有误！\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
